//#pragma once

#include <stdio.h>


#define NUM 1024
#define BUFF_NONE 0x1 //无刷新
#define BUFF_LINE 0x2 //行刷新
#define BUFF_ALL  0x4 //全刷新

typedef struct _MY_FILE
{
    int fd; //文件描述符
    int flags; //刷新策略
    char outputbuffer[NUM]; //缓冲区
    int  current; //缓冲区下标
}MYFILE;

MYFILE *my_fopen(const char *path, const char *mode); //打开文件
size_t my_fwrite(const void *ptr, size_t size, size_t nmemb,MYFILE *stream); //写入文件
size_t my_fread(void *ptr, size_t size, size_t nmemb,MYFILE *stream); //读取文件
int my_fclose(MYFILE *fp); //关闭文件
int my_fflush(MYFILE *fp); //刷新缓冲区